//package com.javachmapi.springbootjsoup.croner;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.javachmapi.springbootjsoup.log.PeptileTaskLog;
//import com.javachmapi.springbootjsoup.util.HttpClientUtil;
//import lombok.extern.slf4j.Slf4j;
//import net.javacrumbs.shedlock.core.SchedulerLock;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.TransactionException;
//
//import java.text.SimpleDateFormat;
//import java.time.LocalDate;
//import java.util.Date;
//
///**
// * @author songlijun
// * @desc:  采集联联周边游公众号产品信息
// * @Date: 2019\10\9 0009
// */
//@Slf4j
//@Service
//public class PeptileLlzbyTask2 {
//
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//
//
//    //每天凌晨每天凌晨1点执行一次
//    @Scheduled(cron = "0 0 2 * * ?")
//    @SchedulerLock(name = "LlzbyJob", lockAtLeastFor = 1000 * 30)
//    public void LlzbyJob()  {
//
//        int sum = 0;
//        String state = "0";
//
//        //获取当前系统日期
//        LocalDate jintian = LocalDate.now();
//        String sysdate = String.valueOf(jintian).replace("-","");
//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//
//        /**
//         * 判断是否采集所有地区的产品，输入all表示采集所有地区的产品(一共220个地区产品),否则表示某地区的采集
//         */
//        try{
//            log.info("#####################开始定时采集联联周边游#####################");
//            for (int x = 1; x <=223; x++) {
//                try {
//                    //第一步、首先爬取某个城市周边游的产品数量
//                    String area_jsonStr = HttpClientUtil.doGet("https://api.lianlianlvyou.com/v1/wx/list?i=wx45fdcece84d8faf5&locationid=" + x, "");
//                    //字符串转为Json
//                    JSONObject area_json=JSONObject.fromObject(area_jsonStr);
//                    //得到第一个data对象
//                    JSONObject area_data = null;
//                    try {
//                        area_data = area_json.getJSONObject("data");
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    //得到list对象集
//                    JSONObject area_list = null;
//                    try {
//                        area_list = area_data.getJSONObject("list");
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    JSONObject area_currentSite = null;
//                    try {
//                        area_currentSite = area_data.getJSONObject("currentSite");
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    //得到list对象中的rowCount元素(总页数)
//                    int pagenum=Integer.parseInt(area_list.getString("rowCount"))/10
//                            +Integer.parseInt(area_list.getString("rowCount"))%10;
//                    /**
//                     * 下面开始算采集
//                     */
//                    //第二步、开始爬取所有页面的产品的数量
//                    for (int i = 0; i <= pagenum-1; i++) {
//                        try {
//                            String jsonStr = HttpUtil.doGet("https://api.lianlianlvyou.com/v1/wx/list?i=wx45fdcece84d8faf5&t=3&pageSize=10&pageIndex="+(i+1)+"&locationid="+x,"");
//                            //字符串转为Json
//                            JSONObject jsonObject=null;
//                            try{
//                                jsonObject=JSONObject.fromObject(jsonStr);
//                            }catch (Exception e){
//                                e.printStackTrace();
//                            }
//                            //得到第一个data对象
//                            JSONObject data = null;
//                            try{
//                                data = jsonObject.getJSONObject("data");
//                            }catch (Exception e){
//                                e.printStackTrace();
//                            }
//                            //得到list对象集
//                            JSONObject list = null;
//                            try{
//                                list = data.getJSONObject("list");
//                            }catch (Exception e){
//                                e.printStackTrace();
//                            }
//                            JSONObject currentSite = null;
//                            try {
//                                currentSite = data.getJSONObject("currentSite");
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                            String area_id = null;
//                            try {
//                                area_id = AreaHelper.getAreaIDForName(currentSite.getString("city").split("站")[0]);
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                            String area_name = null;
//                            try {
//                                area_name = currentSite.getString("city").split("站")[0];
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                            String out_area_id = null;
//                            try {
//                                out_area_id = String.valueOf(x);
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                            String out_area_name = null;
//                            try {
//                                out_area_name = currentSite.getString("city");
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                            //得到第i页面的集合数量
//                            JSONArray jsonArray = list.getJSONArray("data");
//                            try{
//                                for (int j = 0; j <= jsonArray.size()-1; j++) {
//                                    try {
//                                        String biz = "联联周边游";
//                                        String info_id = null;
//                                        try {
//                                            info_id = jsonArray.getJSONObject(j).getString("id");
//                                            //判断产品在总表是否存在
////                                            if(dao.queryForDataSet(ApiConfig.SAAS_DATA,"select info_id from reptile_product where biz='zby' and info_id="+info_id).size()>0){
////                                                dao.executeCommand(ApiConfig.SAAS_DATA,"insert into reptile_product_zby_"+sysdate+" (biz,info_id)values(?,?)",
////                                                        new Object[]{biz,info_id});
////                                                continue;
////                                            }
//                                        } catch (Exception e) {
//
//                                        }
//                                        String link = null;
//                                        try {
//                                            link = "https://api.lianlianlvyou.com/v1/wx/product2?i=wx45fdcece84d8faf5&id="+jsonArray.getJSONObject(j).getString("id")+"&Authorization=oXQ6s0gvgNYE9ul-bzAKJmBaySHA";
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String info_title = null;
//                                        try {
//                                            info_title = jsonArray.getJSONObject(j).getString("title");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String img = null;
//                                        try {
//                                            img = jsonArray.getJSONObject(j).getString("faceImg");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String tree_name = null;
//                                        String order_start_date = null;
//                                        String order_end_date = null;
//                                        String price = "0";
//                                        try {
//                                            price=String.valueOf(new Double((Double.valueOf(jsonArray.getJSONObject(j).getString("salePriceStr").replace("￥","").trim())*100)).intValue());
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String market_price = "0";
//                                        try {
//                                            market_price=String.valueOf(new Double((Double.valueOf(jsonArray.getJSONObject(j).getString("originPriceStr").replace("门市价￥","").trim())*100)).intValue());
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String order_num = null;
//                                        try {
//                                            order_num = jsonArray.getJSONObject(j).getString("saleAmount");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        /**
//                                         * 得到产品详情相关属性信息
//                                         */
//                                        String storage = null;
//                                        String address = null;
//                                        String start_date = null;
//                                        String end_date = null;
//                                        String context = null;
//                                        //字符串转为Json
//                                        JSONObject contextObject=null;
//                                        try {
//                                            contextObject = JSONObject.fromObject(HttpUtil.doGet(link,""));
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到data对象
//                                        JSONObject context_data=null;
//                                        try {
//                                            context_data = contextObject.getJSONObject("data");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到对象中的bizProduct对象
//                                        JSONObject context_bizProduct = null;
//                                        try {
//                                            context_bizProduct = context_data.getJSONObject("bizProduct");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        String phone=null;
//                                        try {
//                                            //data.bizProduct.shops[0].phoneNumber
//                                            phone = context_bizProduct.getJSONArray("shops").getJSONObject(0).optString("phoneNumber");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到对象中的stockAmount元素
//                                        try {
//                                            storage = context_bizProduct.getString("stockAmount");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到对象中的address元素
//                                        try {
//                                            address = context_bizProduct.getString("address");
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到对象中的validBeginDate元素
//                                        try {
//                                            start_date = sdf.format(new Date(Long.parseLong(String.valueOf(context_bizProduct.getString("validBeginDate")))));
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        //得到对象中的validEndDate元素
//                                        try {
//                                            end_date = sdf.format(new Date(Long.parseLong(context_bizProduct.getString("validEndDate"))));   // 时间戳转换成时间
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                        try {
//                                            jdbcTemplate.update("insert into reptile_product_zby_"+sysdate+" (biz,info_id,link,info_title,img,area_id,area_name,tree_name,order_start_date,order_end_date,price,market_price,order_num,address,phone,storage,start_date,end_date,context,out_area_id,out_area_name)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
//                                                                    new Object[]{biz,info_id,link,info_title,img,area_id,area_name,tree_name,order_start_date,order_end_date,price,market_price,order_num,address,phone,storage,start_date,end_date,context,out_area_id,out_area_name});
//                                            log.info("正在爬取"+area_name+"第"+j+"件产品");
//                                            sum++;
//                                        } catch (Exception e) {
//                                            e.printStackTrace();
//                                        }
//                                    } catch (Exception e) {
//                                        PeptileTaskLog.pullProductLog("联联周边游","采集出现错误，原因："+e.getMessage(),0,state);
//                                    }
//                                }
//                            }catch (Exception e){
//                                PeptileTaskLog.pullProductLog("联联周边游","采集出现错误，原因："+e.getMessage(),0,state);
//                            }
//                        } catch (Exception e) {
//                            PeptileTaskLog.pullProductLog("联联周边游","采集出现错误，原因："+e.getMessage(),0,state);
//                        }
//                    }
//                } catch (Exception e) {
//                    PeptileTaskLog.pullProductLog("联联周边游","采集出现错误，原因："+e.getMessage(),0,state);
//                }
//            }
//            log.info("联联周边游产品采集完成！一共采集了"+sum+"件产品！");
//            PeptileTaskLog.pullProductLog("联联周边游","联联周边游采集成功！一共采集了"+sum+"件产品",sum,"1");
//        }catch (Exception e){
//            try {
//                PeptileTaskLog.pullProductLog("联联周边游","采集出现错误，原因："+e.getMessage(),0,state);
//            } catch (TransactionException e1) {
//                e1.printStackTrace();
//            }
//        }
//    }
//    public static void main(String[] args) {
//        System.out.println(AreaHelper.getAreaIDForName("娄底"));
//        System.out.println(AreaHelper.getAreaNameForID("10032"));
//
//        String price=String.valueOf(new Double((Double.valueOf("￥223.69".replace("￥","").trim())*100)).intValue());
//        String market_price=String.valueOf(new Double((Double.valueOf("门市价￥223.9".replace("门市价￥","").trim())*100)).intValue());
//        System.out.println(price);
//        System.out.println(market_price);
//
//        System.out.println("---------------");
//
//        System.out.println(String.valueOf(new Double((Double.valueOf("79.9")*100)).intValue()));
//    }
//}